One of the most significant challenges facing IT executives today is data management. Companies across all industries are launching new business-critical applications—for example, electronic business (e-business), enterprise resource planning and business intelligence. How easily this information can be shared across the entire enterprise and beyond, including customers, suppliers and partners is of critical importance. Depending on the particular application the enterprise is providing, a combination of computer systems, including web servers, application servers, storage subsystems and software, must be closer to deliver the application to clients.
An application server is a computer in an intranet/Internet environment that performs the data processing necessary to deliver up-to-date information as well as process information for Web clients. The application server sits along with or between a Web server, the databases and legacy applications, to enable a browser-based application to link to multiple sources of information. One of the first uses of an application server was to tie database contents to HTML pages. In large sites, separate application servers link to the Web servers and typically provide load balancing and fault tolerance for high-volume traffic. For small Web sites, the application server processing is often performed by the Web server.
Recently, storage subsystems have been used to offload the storage intelligence from host servers in order to free processing power for the applications. A storage subsystem is a computer system that stores large amounts of data for one or more hosts, that are often on different platforms. Once common type of storage subsystem is a Redundant Array of Independent Disks (Raid). A RAID is a set of disks and a specialized disk controller for controlling access to the disk that increases performance and/or provides fault tolerance.
The two key storage innovations aimed at enabling wide-open data sharing are network-attached storage (NAS) and storage area networks (SANs). Both technologies liberate storage devices from their servers and make data generally available to a variety of users across multiple operating systems.
A storage area network (SAN) is a back-end network connecting storage devices via peripheral channels such as SCSI, SSA, ESCON and Fibre Channel. A centralized SAN ties multiple hosts into a single storage system, which may be implemented as a RAID device with large amounts of cache and redundant power supplies. This type of SAN allows storage systems to copy data for testing, perform routine backup and transfer between databases without burdening the hosts they serve.
SANs differ from traditional local area networks (LAN) and may suffer some disadvantages when compared to LANs. SANs are designed to optimize access to storage, while LANs are designed to optimize shared access to computing components to provide competing services, such as database services. SANs are not widely installed, while LANs are. LANs are also less expensive to build and maintain than SANs.
The key element of a NAS system is a storage device that manages the flow of data across a LAN or WAN. Directly attached to the network rather than an application server, the NAS device is itself a “thin” server that manages storage operations and an array of disks. Because NAS uses standard LAN/WAN connections and supports multiple communications protocols, it can support data from a wide range of UNIX and Windows NT servers. Data is accessed from NAS devices by file acess protocols (e.g., NFS and CIFS) from SAN devices by block access protocols, such as SCSI.
No matter what combination of web servers, application servers, storage subsystems and software an enterprise uses for a particular solution, the enterprise typically purchases the various components from various manufacturers. For example, the Web server may be purchased from Company A, the application server from Company B, the storage subsystem from Company C, and the software that provides the custom solution may be provided by Company D. Alternatively, some manufacturers may provide a service that analyzes and designs custom solutions, but purchases the various components from different companies.
A system comprising such a disparate combination of storage, servers, and networks can be extremely complex and require a high-level of cross-discipline expertise to install and operate. Such systems may take days or weeks to install and set-up. For example, the system may require a cluster of servers communicating with a cluster of storage devices located in another room, which not only adds to floor space requirements, but also requires a large amount of cabling and routing and redundant power resources. Due to the time involved, the installation may result in significant downtime for the enterprise.
Once the system is physically installed, the system may take separate IT teams, including a networking specialists, an operating systems specialist, and a database or storage administrator, to set-up, operate, and maintain.
In addition, each component of the system has its own level of reliability, availability, and serviceability, otherwise known as RAS. And when all the components are combined into one system, the overall RAS of the system is typically less than the RAS for the sum of the components due to interoperability concerns. That is, because the components of the system are made by different manufacturers, the components may not be all that compatible with one another and take a high degree of attention and expertise by the IT organization to maintain. I/O access problems, for instance, may have to be diagnosed between a processor service team and a storage service team. The result is significant installation and maintenance costs to the enterprise.
Accordingly, what is needed is and improved system for storing and serving data. The system should have increased RAS characteristics, be easy to install, and result in lower operating expense. The present invention addresses such needs.